package com.chenfan.mcn.model.dto;

import com.alibaba.fastjson.annotation.JSONField;
import com.chenfan.mcn.model.StarMonthlySettlement;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;
import java.util.List;

/**
 * 红人月度结算单-列表查询
 * @author wulg
 * @date 2021-11-17
 **/
@SuppressWarnings({"AlibabaPojoNoDefaultValue", "AlibabaPojoMustUsePrimitiveField"})
@EqualsAndHashCode(callSuper = true)
@Data
public class StarMonthlySettlementSearchDTO extends AbstractMcnPrivilegeDTO<StarMonthlySettlement> {

    /**
     * 当前页
     */
    private long pageNum = 1L;

    /**
     * 每页大小
     */
    private long pageSize = 10L;

    /**
     * 结算单号
     */
    private String settlementCode;

    /**
     * 红人ID
     */
    private Long starId;

    /**
     * 单据状态
     */
    private List<Integer> approvalStatus;

    /**
     * 审批状态：审批人userId
     */
    private List<Long> flowStatus;

    /**
     * 通过审批流 待审批 获取的id集合
     */
    private List<Long> srcIds;

    /**
     * 创建时间-开始
     */
    private Date createDateStart;

    /**
     * 创建时间-结束
     */
    private Date createDateEnd;

    /**
     * 流程ID集合
     */
    private List<Long> processIds;

    /**
     * 创建人名称
     */
    private String createName;

    /**
     * 导出类型，1=子结算导出、2=执行单明细导出
     */
    private Integer exportType;

    /**
     * 结算时间-开始
     */
    @JSONField(format = "yyyy-MM")
    private Date settlementDateStart;

    /**
     * 结算时间-截止
     */
    @JSONField(format = "yyyy-MM")
    private Date settlementDateEnd;

    /**
     * 执行单编号
     */
    private String excuteCode;

    /**
     * 线上打款状态：0_待打款、1_部分打款、2_已打款
     */
    private List<Integer> onlinePaidStatus;

    /**
     * 线下打款状态：0_待打款、1_部分打款、2_已打款
     */
    private List<Integer> offlinePaidStatus;

    @Override
    protected void extendCustomerPrivilege(StringBuilder sb) {
        return;
    }
}
